package myjava.test.xml.reader.bean;

import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import org.dom4j.Element;

import myjava.test.xml.reader.Context;

/**
 * 读取配置文件相关信息，获取一个类的属性值和类名,这个xml的规则已经订好，如下：
 * TODO 写上xml的dtd
 * 
 * 
 * 
 * @author zichaoyang
 *
 */
public interface BeanContextReader extends Context {
	
	/**
	 * 获取含有bean信息的类
	 * @return 还有bean信息的列表
	 */
	public abstract List<Map<String, LinkedList<Map<String, ?>>>> getBeanMessage();
	
	/**
	 * 将读取到的bean信息添加进信息列表
	 * @param beanMessage
	 */
	public abstract void addBeanMessage(Map<String, LinkedList<Map<String, ?>>> beanMessage);
	
	/**
	 * 通过id读取bean信息，读取相关初始化类属性
	 * @param id 相关类的id
	 * @return
	 */
	public abstract Map<String, LinkedList<Map<String, ?>>> getBeanMessage(String id);
	
	/**
	 * 通过节点获取id
	 * @param e
	 * @return 含有bean相关信息的map
	 */
	public abstract Map<String, LinkedList<Map<String, ?>>> getBeanMessage(Element e);

}
